#pragma once

#include <future>
#include <mutex>
#include "HidDevice.h"



class V520DDevice:public HidDevice{
public:
    V520DDevice(const std::string& device_path, std::string& product_model, const std::string& product_name, const std::string& phy_version, 
        const std::string& soft_version, const std::string& serial_number, 
        const std::string& unique_id, std::vector<HidDevInfo> sub_devices);
    ~V520DDevice() override;


    bool Upgrade(const std::string& file_path) override;

private:

    std::recursive_mutex m_mux;
};
